perm filename 12T.F4[SCR,LCS] blob
sn#367635 filedate 1978-07-11 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00004 ENDMK
C⊗;
C≡≡≡≡≡≡ THIS IS THE REQUIRED HEADER FOR 'SCORE' SUBROUTINES. ≡≡≡≡≡≡≡
SUBROUTINE SUBR
COMMON /P/P(1) /PL/PL(1) /INS/ INST(27),BG(60)
COMMON INUM,IPAR,CNT(27),BT,IREST,DF,DUR(27)
C INUM=INST# IPAR=PARAM#
C BT=BASIC TIME P1 WHEN SUBROUTINE IS CALLED
C IF IREST IS <0, THAT NOTE WILL BE A REST.
C INST=INST. NAME, BG=INSTS' BEGIN TIMES.
C NOTE #S IN SUBROUTINE: (1-84) C4=37 FS4=43 C5=49 ETC.
C F1=86 F15=100 (NO F16!)
C************ SELECTS 12 TONE ROW AT RANDOM, THEN RESETS FOR ANOTHER.
INTEGER USED
DIMENSION USED(12)
IF(IREST.LT.0.OR.P(2).LT.0)RETURN
C GO BACK IF IT'S A REST.
PL(IPAR)=2
IF(CNT(INUM).NE.1)GO TO 10
14 DO 11 K=1,12
11 USED(K)=0
C BE SURE ARRAY IS ALWAYS ZEROED TO BEGIN WITH.
GO TO 1
10 DO 12 K=1,12
12 IF(USED(K).EQ.0)GO TO 13
C GO BACK AND ZERO ARRAY AGAIN IF ALL NON-ZERO.
GO TO 14
13 IF(USED(J).NE.0)GO TO 1
4 USED(J)=1
2 P(IPAR)=J+36
C PUT INTO MIDDLE C OCTAVE.
RETURN
1 J=RAND(1.0,12.999)
GO TO 13
C GO TRY AGAIN.
END